package timbap.visualizer.api.plugin.container;

/**
 * The <code>PluginSwitchCommandPublisher</code> interface is the base
 * interface for classes publishing a plugin switch command to one
 * or more listeners.
 *
 * @author  Andreas Pabst
 * @see     timbap.visualizer.api.plugin.container.PluginSwitchCommandListener
 * @see     timbap.visualizer.api.plugin.container.PluginSwitch
 */
public interface PluginSwitchCommandPublisher {
	
    public void addPluginSwitchCommandListener(PluginSwitchCommandListener pListener);

    public void removePluginSwitchCommandListener(PluginSwitchCommandListener pListener);

    public void publishPluginSwitchCommand(PluginSwitchCommand pPluginSwitchCommand);

}
